#pragma once

#define	BUILD_VERSION	1

#define OPZNET_COMMON_DLL

#pragma comment(lib, "ws2_32.lib")

#ifdef _DEBUG
	#pragma comment(lib, "sfml-network-d.lib")
	#pragma comment(lib, "sfml-system-d.lib")
#else
	#pragma comment(lib, "sfml-network.lib")
	#pragma comment(lib, "sfml-system.lib")
#endif

// WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <WinSock2.h>

// SFML
#include <SFML/Network.hpp>
#include <SFML/System.hpp>

// C++ standard librrary
#include <cstdio>
#include <map>
#include <cassert>
#include <deque>
#include <list>
#include <vector>

// opznet
#include <opznet/shared_structs.h>

// common
#include "macros.h"
#include "Thread.h"
#include "HeaderDef.h"
//#include "md5.h"
//#include "Heap.h"
#include "SafeQueue.h"
#include "util.h"
#include "s_map.h"
#include "BufPool.h"

namespace opznet
{

using namespace std;

bool GetBroadcastAddress(list<sf::IpAddress> *address_list);

}